La norme
ISO 8859-1, dont le nom complet est
ISO/CEI 8859-1, et qui est souvent appelée
Latin-1, forme la première partie de la norme internationale
ISO/CEI 8859, qui est une norme de l'Organisation internationale de normalisation pour le codage des caractères en
Informatique.
Elle définit ce qu'elle appelle l'Alphabet latin numéro 1, qui consiste en 191 caractères de l'Alphabet latin, chacun d'entre eux étant codé par un Octet (soit 8 bits). ISO 8859-1 reprend le codage des caractères imprimables d'US-ASCII.
Dans les pays occidentaux, cette norme est utilisée par de nombreux systèmes d'exploitation, dont UNIX, Windows ou AmigaOS. Elle a donné lieu à quelques extensions et adaptations, dont Windows-1252 et ISO 8859-15. La distinction entre ASCII, ISO 8859-1, ISO 8859-15, Windows-1252 et MacRoman est une source de confusion parmi les développeurs de programmes informatiques.
Principe
En première approximation, ISO 8859-1 étend US-ASCII en ajoutant les caractères accentués.
L'ISO 8859-1 recouvre les caractères utilisés par les langues européennes suivantes : Albanais, Allemand, Anglais, Basque, Catalan, Danois, gaélique écossais, Espagnol, féringien, Finnois, Français (), Islandais (sauf caractères „ et “), gaélique irlandais, Italien, Néerlandais, Norvégien, Portugais, Romanche et Suédois. L'Afrikaans et le Swahili sont également couverts. Cette norme est donc utilisée en Europe de l'Ouest, en Amérique, en Australie et dans une grande partie de l'Afrique.
Les 191 caractères de ISO 8859-1 sont graphiques, et donc compatibles avec la majorité des navigateurs web. Ils sont représentés sous forme de glyphes (oeil) dans le tableau suivant. Les titres des lignes et des colonnes indiquent les codes hexadécimaux correspondant à chaque caractère, par exemple, le code hexadécimal de « L » est 4C, soit 01001100 en binaire ou 76 en décimal.
ISO/CEI 8859-1 |
---|
| x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF |
---|
0x | caractères de contrôle et divers non imprimables |
---|
1x |
---|
2x | | | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
---|
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
---|
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
---|
5x | P | Q | R | S | T | U | V | W | X | Y | Z | | ^ | _ |
---|
6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
---|
7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | |
---|
8x | caractères de contrôle et divers non imprimables |
---|
9x |
---|
Ax | | ¡ | ¢ | £ | ¤ | ¥ | ¦ | § | ¨ | © | ª | « | ¬ | | ® | ¯ |
---|
Bx | ° | ± | ² | ³ | ´ | µ | ¶ | • | ¸ | ¹ | º | » | ¼ | ½ | ¾ | ¿ |
---|
Cx | À | Á | Â | Ã | Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í | Î | Ï |
---|
Dx | Ð | Ñ | Ò | Ó | Ô | Õ | Ö | × | Ø | Ù | Ú | Û | Ü | Ý | Þ | ß |
---|
Ex | à | á | â | ã | ä | å | æ | ç | è | é | ê | ë | ì | í | î | ï |
---|
Fx | ð | ñ | ò | ó | ô | õ | ö | ÷ | ø | ù | ú | û | ü | ý | þ | ÿ |
---|
Dans cette table, 20 en hexadécimal (32 en décimal) est le code correspondant au caractère « espace » (souvent représenté par SP, de space en Anglais), et A0 (160) est le code de l'espace insécable (souvent représenté par NBSP, de no-break space en anglais). AD (173) est un petit tiret, qui n'apparaît pas du tout dans certains navigateurs (souvent représenté par SHY, de soft hyphen en anglais). Les codes 00 (0) à 1F (31) et 7F (127) à 9F (159) ne sont pas assignés en ISO 8859-1.
ISO 8859-1 par rapport à ISO-8859-1
L'IANA
(Internet Assigned Numbers Authority) a validé, pour une utilisation sur
Internet, l'
ISO-8859-1 (remarquez le tiret supplémentaire), un sur-ensemble de l'ISO/CEI 8859-1.
Cette carte de caractères, ou jeu de caractères, ou page de codes, supplée l'ISO/CEI 8859-1 en attribuant des caractères de contrôle aux valeurs 00 à 1F, 7F, et 80 à 9F. On obtient de cette manière 256 caractères recouvrant toutes les valeurs 8 bits possibles.
L'IANA autorise l'utilisation des alias suivants pour l'ISO-8859-1 (à utiliser indépendamment de toute capitalisation) :
- ISO_8859-1:1987
- ISO_8859-1
- ISO-8859-1
- iso-ir-100
- csISOLatin1
- latin1
- l1
- IBM819
- CP819
Le nom Latin-1 est une appellation informelle non reconnue par l'organisation ISO ou IANA, mais utilisée par certains logiciels.
Le tableau suivant montre l'ISO-8859-1, avec en texte souligné les abréviations représentant les caractères de contrôle et les espaces.
ISO-8859-1 |
---|
| x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF |
---|
0x | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
---|
1x | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
---|
2x | SP | | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
---|
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
---|
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
---|
5x | P | Q | R | S | T | U | V | W | X | Y | Z | | ^ | _ |
---|
6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
---|
7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
---|
8x | PAD | HOP | BPH | NBH | IND | NEL | SSA | ESA | HTS | HTJ | VTS | PLD | PLU | RI | SS2 | SS3 |
---|
9x | DCS | PU1 | PU2 | STS | CCH | MW | SPA | EPA | SOS | SGCI | SCI | CSI | ST | OSC | PM | APC |
---|
Ax | NBSP | ¡ | ¢ | £ | ¤ | ¥ | ¦ | § | ¨ | © | ª | « | ¬ | | ® | ¯ |
---|
Bx | ° | ± | ² | ³ | ´ | µ | ¶ | • | ¸ | ¹ | º | » | ¼ | ½ | ¾ | ¿ |
---|
Cx | À | Á | Â | Ã | Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í | Î | Ï |
---|
Dx | Ð | Ñ | Ò | Ó | Ô | Õ | Ö | × | Ø | Ù | Ú | Û | Ü | Ý | Þ | ß |
---|
Ex | à | á | â | ã | ä | å | æ | ç | è | é | ê | ë | ì | í | î | ï |
---|
Fx | ð | ñ | ò | ó | ô | õ | ö | ÷ | ø | ù | ú | û | ü | ý | þ | ÿ |
---|
Il existe d'autres parties de la norme ISO/CEI 8859 à laquelle correspond un jeu de caractères validé par l'IANA, par exemple l'ISO/CEI 8859-10 (alphabet latin no 6) ressemble fortement au jeu de caractères ISO-8859-10.
Chacune des normes ISO/CEI 8859-x codifie les caractères de la même manière : elle couvre la plage ASCII (20-7E) plus 96 caractères supplémentaires dans la plage A0-FF, pour un total de 191 caractères. Les ensembles ISO-8859-x ajoutent tous les caractères de contrôle ISO 646 C0 dans la plage de 00 à 1F, et des caractères de contrôle supplémentaires dans la plage 7F-9F, offrant ainsi un ensemble de 256 caractères. L'ISO-8859-1 est le seul, parmi tous ces ensembles, dont la codification des caractères soit équivalente aux 256 premiers codes de l'Unicode.
ISO-8859-1 est le codage standard utilisé par le système X Window sur la plupart des machines UNIX.
Codages de caractères apparentés
MacRoman
Les ordinateurs
Apple Macintosh les plus anciens utilisent un codage nommé
MacRoman, qui diffère de l'ISO 8859-1 de par les 32 premiers et 127 derniers caractères, mais inclut tout de même tous les caractères présents dans l'ISO 8859-1, à l'exception du tiret invisible. En revanche, le MacRoman inclut de nombreux caractères qui ne sont pas dans l'ISO 8859-1. Le glyphe Euro a remplacé le symbole monétaire générique précédent.
Windows-1252
Sur
Microsoft Windows, quelques glyphes ont été ajoutés entre 0x80 et 0x9F. Cette extension (qui remplace ou annule tous les caractères de contrôle G1 qui sont assignés à ces positions dans le codage ISO-8859-1 et réservés dans la norme ISO/CEI 8859-1) est connue sur Internet en tant que
Windows-1252.
ISO 8859-15
L'
ISO 8859-15, notamment introduite pour prendre en charge le caractère
€ de l'
Euro, gère également mieux le
Français car les caractères ¤, ¦, ¨, ´, ¸, ¼, ½ et ¾ ont été remplacés par €, Š, š, Ž, ž, OE, oe et Ÿ. En français, l'ISO 8859-1 reste cependant nettement plus utilisée, avec OE et oe au lieu de OE et oe, alors que le Ÿ n'est utilisé que par quelques noms propres. Le standard
Unicode est généralement utilisé lorsqu'il est nécessaire de dépasser les limites de ISO 8859-1, notamment, symboles mathématiques, phonétiques et caractères non-latins.
Limitations
La limitation principale de ce codage de caractères sur un octet est la nécessité d'utiliser plusieurs tables pour couvrir plusieurs alphabets. Certains documents sont typés à l'aide par exemple de méta-données, dans ce cas une table de caractère et une seule est associée à chaque document. Par exemple pour un document HTML la balise
<meta http-equiv="content-Type" content="text/html; charset=iso-8859-1" />
indique que le document utilise la table des caractères ISO-8859-1.
Quand cela n'est pas le cas c'est la table de caractère du système d'exploitation qui est utilisée. Si elle ne correspond pas à celle du document l'affichage est incohérent. Le problème est alors l'impossibilité de mélanger dans un même document des alphabets qui ne sont pas définis par la même table. Par exemple le français et l'hébreu.
La solution est de passer à Unicode.
Voir aussi
Liens internes
- ASCII
- MacRoman
- Windows-1252
- ISO 8859-15
- Blocs de caractères Unicode contenant des caractères codés dans au moins une des 16 parties d’ISO 8859 :
- pour ISO 8859-1 :
- Latin basique
- Supplément latin-1
- pour les autres parties :
- Latin étendu - A
- Latin étendu - B
- Diacritiques combinants
- Grec et copte
- Cyrillique
Liens externes